1. Technical Field
The present invention relates generally to an improved data processing system and in particular to a method and apparatus for processing data. Still more particularly, the present invention relates to a method, apparatus, and computer instructions for optimizing Web services binding.
2. Description of Related Art
The Internet is a global network of computers and networks joined together by means of gateways that handle data transfer and the conversion of messages from a protocol of the sending network to a protocol used by the receiving network. On the Internet, any computer may communicate with any other computer with information traveling over the Internet through a variety of languages, also referred to as protocols. The set of protocols used on the Internet is called transmission control protocol/Internet Protocol (TCP/IP).
The Internet has revolutionized both communications and commerce, as well as, being a source of both information and entertainment. For many users, email is a widely used format to communicate over the Internet. Additionally, the Internet is also used for real-time voice conversations.
With respect to transferring data over the Internet, the World Wide Web environment is used. This environment is also referred to simply as “the Web”. The Web is a mechanism used to access information over the Internet. In the Web environment, servers and clients effect data transaction using the hypertext transfer protocol (HTTP), a known protocol for handling the transfer of various data files, such as text files, graphic images, animation files, audio files, and video files.
On the Web, the information in various data files is formatted for presentation to a user by a standard page description language, the hypertext markup language (HTML). Documents using HTML are also referred to as Web pages. Web pages are connected to each other through links or hyperlinks. These links allow for a connection or link to other Web resources identified by a universal resource identifier (URI), such as a uniform resource locator (URL).
A browser is a program used to look at and interact with all of the information on the Web. A browser is able to display Web pages and to traverse links to other Web pages. Resources, such as Web pages, are retrieved by a browser, which is capable of submitting a request for the resource. This request typically includes an identifier, such as, for example, a URL. As used herein, a browser is an application used to navigate or view information or data in any distributed database, such as the Internet or the World Wide Web. A user may enter a domain name through a graphical user interface (GUI) for the browser to access a source of content. The domain name is automatically converted to the IP address by a domain name system (DNS), which is a service that translates the symbolic name entered by the user into an IP address by looking up the domain name in a database.
The browser includes a user interface, which is a GUI that allows the user to interface or communicate with another browser. This interface provides for selection of various functions through menus and allows for navigation. For example, a menu may allow a user to perform various functions, such as saving a file, opening a new window, displaying a history, and entering a URL.
Web services are provided for use by various clients. A Web service is a programmable application, which is accessible as a component via standard Web protocols. A Web service typically uses standard protocols, such as HTTP, Extensible markup language (XML), and SOAP. These services may work through existing proxies and firewalls.
Web services include Web based applications that dynamically interact with other Web applications using open standards. These standards include universal description discovery and integration (UDDI) and SOAP. UDDI is a universal business registry or catalog of Web services that contains white pages with addresses and contacts, yellow pages containing industry classification, and green pages, containing description of services. SOAP is a message-based protocol based on XML for accessing services on the Web. Using these types and other standards, applications typically run behind the scenes with one program talking to another program.
Yellow pages and the other registries are the current mechanism used to publish, discover, and bind Web services. Registries typically contain data structures and other information used to describe Web services and Web service providers.
These programs typically communicate from server to server. With the use of open standards by Web services, a source may supply clients with client side software to add to the applications regardless of the platform. Dynamic Web service clients use a yellow pages directory service, typically UDDI, to find Web services description language (WSDL) bindings for services that the clients desire to use. WSDL is an XML based representation that describes the capabilities of the Web service. These descriptions are typically housed in a UDDI directory, and the combination helps promote the use of Web services on the Internet. Yellow pages and the other registries are the current mechanism used to publish, discover, and bind Web services. Registries typically contain data structures and other information used to describe Web services and Web service providers.
As long as the binding information obtained from the directory services is up to date and the service that the client is interested in is actually online, the use of this yellow page directory service provides useful information to the client to access Web services. Unfortunately, a client has no mechanism to determine whether these conditions are true. Currently, clients assume a relatively static environment and service providers are expected to keep finding information exploited to these types of directories up to date. However, when the information is incorrect, the usability of these types of directories decreases.
Therefore, it would be advantageous to have an improved method, apparatus, and computer instructions for providing binding or access to Web services.